package com.wenyl.juc.thread.interrupt;

/**
 * 线程以如下方式结束：
 *  1、run方法或者call方法执行完毕
 *  2、线程抛出一个未捕获的Exception或者Error
 *  3、直接调用线程的stop方法--容易导致死锁
 *  4、已经死亡的线程不能再次调用start
 * @author Swimming Dragon
 * @description: TODO
 * @date 2024年11月05日 23:16
 */
public class TestInterrupt {
    public static void main(String[] args) {

        Thread t1 = new Thread(() -> {
            while(true){
                if(Thread.currentThread().isInterrupted()){
                    System.out.println("==true==");
                    break;
                }
            }
        });
        t1.start();

        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        t1.interrupt();
    }
}
